The present invention relates to the field of displaying images and data. More specifically, the present invention relates to the field of distortion correction of images and data displayed on non-linear display surface geometry.
Currently, there is a wide variety of devices and techniques utilized to visually display analog and/or digital signals containing moving images, data, and the like, thereby enabling people to view this information. Many of these display devices are very familiar to the general public. For instance, moving images and data are visually displayed on television sets, computer monitors, and arcade video games, to name a few. It should be appreciated that there are many different technologies which are utilized to implement these type of display devices. Some of these technologies include a cathode ray tube (CRT), a liquid crystal display (LCD), a laser based system, a reflective LCD, and a plasma display.
Furthermore, there are other types of display systems that display moving images and data on a non-linear display surface geometry (e.g., a dome hemisphere display surface). It is appreciated that the non-linear display surface geometry can be implemented so that it is large enough to be viewed by several hundred people or small enough to be viewed by a single person. These types of display systems are typically used for visual simulation and immersive displays. But there are problems associated with implementing these types of display systems.
One of the main problems is that some sort of distortion correction is typically needed in order for the image projected onto a non-linear display surface geometry to appear correct to a viewer. One prior art solution for providing distortion correction to a projection or display system first involves projecting a test pattern image from a video projector onto an actual non-linear display surface geometry. Next, a person physically manipulates controls of the video projector in order to bend the projected test pattern until it looks correct. Furthermore, this manipulation could also be performed until the test pattern aligns with some physical points on the non-linear display surface geometry. Once the projected test pattern looks correct, analog and/or digital signals containing moving images and data are transmitted to the video projector in order to project them onto the non-linear display surface geometry to be seen by a viewer. It should be appreciated that there are several disadvantages to this prior art solution.
One of the main disadvantages of this prior art solution is that it is typically limited in its ability to make the projected images appear correct to the viewer. For example, the controls of the projector may not have the capability to provide enough distortion correction to the projected test pattern in order to make it appear correct. As such, the images projected from the projector onto the non-linear display surface geometry will not appear correct to the viewer thereby degrading the overall viewing experience of the viewer. Furthermore, another disadvantage of this prior art solution is that its implementation does not always provide very accurate distortion correction.
Another prior art solution for providing distortion correction to a display or projection system is to specifically design and build an image projection system for a specific non-linear display surface geometry. Furthermore, another prior art solution is to specifically design and build special video hardware to be implemented within an image generator that warps an image for a specific non-linear display surface geometry. But there are disadvantages associated with these prior art solutions. One of the main disadvantages is that either prior art solution is typically expensive. For instance, since non-linear display surface geometry can be very complicated, there is a lot of overhead in designing and building an image projection system or special video hardware specifically to operate in conjunction with a specific non-linear display surface geometry. Furthermore, for almost every different type of non-linear display surface geometry, a new image projection system or new special video mapping has to be designed and built basically from scratch. As such, these prior art solutions are not very cost efficient because neither provides any type of standardization, except by constraining the available display options.
Another disadvantage of these design and build prior art solutions is that the resulting image projection system or special video hardware is specifically limited to operate in conjunction with its designed non-linear display surface geometry (e.g., dome hemisphere). Therefore, if there is a need for an image projection system or special video hardware that properly operates with a different type of non-linear display surface geometry (e.g., cylindrical or conical), the existing image projection system or special video hardware is unable to be used for the desired purpose.
An additional disadvantage of all of the prior art solutions is that they tend to be static. In other words, one cannot use a dynamically changing display configuration (e.g., head tracked projector or target projector).
Accordingly, a need exists for a method and system for providing distortion correction to a projection or display system that enables it to project an image onto a non-linear display surface geometry which appears correct to a viewer. A further need exists for a method and system which meets the above need but is not very expensive. Still another need exists for a method and system which meets the above need and provides a standard for distortion correction. Yet another need exists for a method and system which meets the above need and is not specifically limited to one non-linear display surface geometry. A further need exists for a method and system which meets the above need and provides very accurate distortion correction. Another need exists for a method and system which meets the above need and also provides dynamic distortion correction which varies over time.
The present invention provides a method and system for automatically performing distortion correction to rendered images within an image generator in order to undo distortion induced by complex display systems (e.g., non-linear display surface geometry). For example, one embodiment of the present invention within an image generator automatically computes image distortion correction on-the-fly for any given geometry of a display surface, any given position of a design eye point, and any given position of a projector. Furthermore, the same embodiment also automatically computes image distortion correction on-the-fly whenever any of the above listed elements change. As such, an image projector implemented with an embodiment of the present invention presents images to the design eye point which are a geometrically accurate representation of the displayed world from the position of the viewer. It should be appreciated that an embodiment of software in accordance with the present invention pipelines particular transformation stages or steps in order to simplify support for different non-linear display surface geometries and projection systems.
Specifically, one embodiment of the present invention includes a method of automatically performing image distortion correction based on a non-linear display surface, a design eye point, and an image projector position. The method includes the computer-implemented step of rendering an image. Moreover, the method also includes the computer-implemented step of generating a vector from the design eye point to a point of the image. Furthermore, the method also includes the computer-implemented step of orienting the vector with respect to the non-linear display surface. Additionally, the method also includes the computer-implemented step of ray casting the vector onto the non-linear display surface from the design eye point to produce a three dimensional point on the non-linear display surface. Moreover, the method also includes the computer-implemented step of back projecting the three dimensional point onto a display plane of the image projector position to produce a two dimensional point on the display plane. The method also includes the computer-implemented step of mapping the image to the display plane.
In another embodiment, the present invention includes the computer-implemented steps of the above described embodiment and further includes the computer-implemented step of generating a texture coordinate which correlates to the point of said image. The above described embodiment is more specific wherein said step of mapping said image to said display plane further comprises the computer-implemented step of using the two dimensional point on the display plane and the texture coordinate to map the image to the display plane.
In still another embodiment, the present invention includes another method of automatically performing image distortion correction based on a non-linear display surface, a design eye point, and an image projector position. The method includes the computer-implemented step of rendering an image. Furthermore, the method also includes the computer-implemented step of generating a vector from a point of an image projector space. Another computer-implemented step of the method includes orienting the vector with the orientation of an image projector. Additionally, the method includes the computer-implemented step of ray casting the vector onto the non-linear display surface from an image projector position to produce a three dimensional point on the non-linear display surface. Moreover, the method includes the computer-implemented step of back projecting the three dimensional point onto an image plane of a design eye point to produce a two dimensional point. Furthermore, the method includes the computer-implemented step of mapping the image to a design display plane.
In another embodiment, the present invention includes the computer-implemented steps of the embodiment described directly above and further includes the computer-implemented step of generating a texture coordinate which correlates to the point. The above described embodiment is more specific wherein the step of mapping the image to the design display plane further comprises the computer-implemented step of using the point and the texture coordinate to map the image to the design display plane.
These and other advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the drawing figures.